package Behaviours;

import EDU.gatech.cc.is.util.Vec2;
import MaquinaEstados.MaquinaEstados;
import MaquinaEstados.MaquinasEstados.MaquinaEstadosDefensa;
import MaquinaEstados.MaquinasEstados.MaquinaEstadosDefensa2;
import MaquinaEstados.MaquinasEstados.MaquinaEstadosPortero;
import teams.ucmTeam.Behaviour;
import teams.ucmTeam.RobotAPI;

public class ComportamientoDefensa2 extends Behaviour {
	
	MaquinaEstados maquina;

	@Override
	public void configure() {
		// TODO Auto-generated method stub

	}

	@Override
	public void end() {
		maquina.end();

	}

	@Override
	public void onInit(RobotAPI arg0) {
		maquina = new MaquinaEstadosDefensa2(arg0);
		maquina.init();
	}

	@Override
	public void onRelease(RobotAPI arg0) {
		// TODO Auto-generated method stub

	}
	
	public boolean ballInOpponentField(){
		boolean result = true;
		int mySide = myRobotAPI.getFieldSide();
		Vec2 posBall = myRobotAPI.toFieldCoordinates(myRobotAPI.getBall());
		double product = mySide * posBall.x;
		result = product < 0;
		return result;
	}

	@Override
	public int takeStep() {
	
		if (ballInOpponentField()){
			maquina.cambiarEstado("defensaAtacando2");
		}else{
		
			maquina.cambiarEstado("defensaDefendiendo2");
		}
		maquina.takeStep();
	
		
		return RobotAPI.ROBOT_OK;
	}

}
